package kgame5.kgu.move.quadtree {
import kgame5.k3d.core.obj3d.hardvo.HardVO;

/**
 * @author kk
 * xz是坐上角
 */
public class XZRectangle {
	public var x:int;
	public var z:int;
	public var w:int;
	public var h:int;
//	public function XZRectangle(x:int,z:int,w:int,h:int){
//		this.x=x;
//		this.z=z;
//		this.w=w;
//		this.h=h;
//	}

	//这个检测一个hardVO是否被包含在里面
	private function _contains2(_x:int,_z:int,A:int,B:int):Boolean{
		var A2:int=A>>1;
		var B2:int=B>>1;
		
		//目标盒子尺寸
		var left:int=_x-A2;
		var right:int=_x+A2;
		var up:int=_z+B2;
		var down:int=_z-B2;
		
		if(left<x ||right>x+w||up>z||down<z-h){
			return false;
		}
		return true;
	}
	
	//检测一个hardVO是否在此象限
	public function contains(vo:HardVO):Boolean{
		return this._contains2(vo.v3d_p.x, vo.v3d_p.z, vo.aabb.A, vo.aabb.B);
	}
}
}
